/**
 *
 */
import Util;
import OpenApi;
import OpenApiUtil;
import EndpointUtil;

extends OpenApi;


init(config: OpenApi.Config){
  super(config);
  @endpointRule = '';
  
  checkConfig(config);
  @endpoint = getEndpoint('yuqing', @regionId, @endpointRule, @network, @suffix, @endpointMap, @endpoint);
}

function getEndpoint(productId: string, regionId: string, endpointRule: string, network: string, suffix: string, endpointMap: map[string]string, endpoint: string) throws: string{
  if (!Util.empty(endpoint)) {
    return endpoint;
  }
  
  if (!Util.isUnset(endpointMap) && !Util.empty(endpointMap[regionId])) {
    return endpointMap[regionId];
  }
  return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix);
}

model AlarmData {
  alarmLevel?: string(name='alarmLevel', example='P3'),
  alarmMsgId?: long(name='alarmMsgId', example='1234'),
  alarmRuleId?: long(name='alarmRuleId', example='123'),
  alarmRuleName?: string(name='alarmRuleName', example='xxx'),
  alarmTimestamp?: long(name='alarmTimestamp', example='163433443333'),
  authorName?: string(name='authorName', example='xxx'),
  content?: string(name='content', example='一段预警文章内容'),
  docIdStr?: string(name='docIdStr', example='1234324231231'),
  docMediaType?: string(name='docMediaType', example='WEIBO-WEIBO'),
  gmtModifiedTimestamp?: long(name='gmtModifiedTimestamp', example='163433443333'),
  mediaName?: string(name='mediaName', example='xxx'),
  memos?: [ string ](name='memos'),
  message?: YuqingMessage(name='message'),
  modifierName?: string(name='modifierName', example='xxx'),
  modifierOutNo?: string(name='modifierOutNo', example='12345'),
  projectId?: long(name='projectId', example='123'),
  projectName?: string(name='projectName', example='xxx'),
  selfContentSignStr?: string(name='selfContentSignStr', example='-1202939212'),
  sourceUrl?: string(name='sourceUrl', example='http://xxx.com'),
  state?: string(name='state', example='HANDLED'),
  tags?: [ string ](name='tags'),
  title?: string(name='title', example='一段标题内容'),
  type?: string(name='type', example='xxx'),
}

model AlarmQueryCondition {
  alarmRuleId?: [ long ](name='alarmRuleId'),
  docIds?: [ long ](name='docIds'),
  docMediaType?: [ string ](name='docMediaType'),
  endTime?: long(name='endTime', example='162736282728'),
  ids?: [ long ](name='ids'),
  isQueryUpdateTime?: boolean(name='isQueryUpdateTime', example='true'),
  levels?: [ string ](name='levels'),
  pageNow?: long(name='pageNow', example='1'),
  pageSize?: long(name='pageSize', example='10'),
  projecIds?: [ long ](name='projecIds'),
  startTime?: long(name='startTime', example='16272827281'),
  status?: [ string ](name='status'),
  tagIds?: [ long ](name='tagIds'),
  type?: string(name='type', example='xxx'),
}

model BizTagTree {
  gmtCreateTimestamp?: long(name='gmtCreateTimestamp', example='16272828182'),
  gmtModifiedTimestamp?: long(name='gmtModifiedTimestamp', example='16272828182'),
  id?: long(name='id', example='123'),
  name?: string(name='name', example='xxx'),
  parentId?: long(name='parentId', example='123'),
  status?: long(name='status', example='1'),
  tagIdPath?: string(name='tagIdPath', example='-12-123-'),
  tagNamePath?: string(name='tagNamePath', example='-xx-yy-'),
  uidCreate?: string(name='uidCreate', example='xxx'),
  uidModified?: string(name='uidModified', example='yyy'),
  unameCreate?: string(name='unameCreate', example='xxx'),
  unameModified?: string(name='unameModified', example='yyy'),
}

model Filter {
  criteria?: string(name='criteria', example='{"xx":"yy"}'),
  filterGroupId?: long(name='filterGroupId', example='123'),
  gmtCreateTimestamp?: long(name='gmtCreateTimestamp', example='16272821231'),
  gmtModifiedTimestamp?: long(name='gmtModifiedTimestamp', example='16272821231'),
  id?: long(name='id', example='123'),
  name?: string(name='name', example='xxxx'),
  valid?: long(name='valid', example='1'),
}

model FinanceEvent {
  entityArea?: string(name='entityArea', example='中国-四川省-成都市'),
  entityCrn?: string(name='entityCrn', example='EX1223182393'),
  entityId?: string(name='entityId', example='39381912839341'),
  entityName?: string(name='entityName', example='招商银行股份有限公司'),
  entityRelevanceScore?: string(name='entityRelevanceScore', example='1'),
  entitySummary?: string(name='entitySummary', example='xxx公司发行债券100亿'),
  entityType?: string(name='entityType', example='COMPANY'),
  eventCode?: long(name='eventCode', example='123'),
  eventId?: string(name='eventId', example='1284712928731'),
  eventName?: string(name='eventName', example='发行债券'),
}

model HotspotSearchCondition {
  active?: boolean(name='active', example='false'),
  cities?: string(name='cities', example='["上海市","重庆市"]'),
  crawlerTimeEndFilter?: long(name='crawlerTimeEndFilter', example='1631672587713'),
  crawlerTimeStartFilter?: long(name='crawlerTimeStartFilter', example='1631635200000'),
  enableKeywordHighlight?: boolean(name='enableKeywordHighlight', example='false'),
  hotspotCategory?: string(name='hotspotCategory', example='文娱榜'),
  mediaSubType?: string(name='mediaSubType', example='WEIBO'),
  mediaType?: string(name='mediaType', example='HOTSPOT'),
  pageNow?: int32(name='pageNow', example='1'),
  pageSize?: int32(name='pageSize', example='10'),
  posKeywords?: string(name='posKeywords', example='["中国"]'),
  queryWithoutKeyword?: boolean(name='queryWithoutKeyword', example='false'),
  sortBy?: string(name='sortBy', example='DEFAULT'),
  sortByDirection?: string(name='sortByDirection', example='+'),
  titleIncludingWordsIdx?: string(name='titleIncludingWordsIdx', example='["中国"]'),
}

model Project {
  assKeywords?: string(name='assKeywords', example='["AA","BB"]'),
  defaultFilterId?: long(name='defaultFilterId', example='123'),
  extCriteria?: string(name='extCriteria', example='{"key":"value"}'),
  gmtCreateTimestamp?: long(name='gmtCreateTimestamp', example='16273627282'),
  gmtModifiedTimestamp?: long(name='gmtModifiedTimestamp', example='16273627282'),
  id?: long(name='id', example='123'),
  name?: string(name='name', example='xxx'),
  negKeywords?: string(name='negKeywords', example='["CC","DD"]'),
  pid?: long(name='pid', example='123'),
  posKeywords?: string(name='posKeywords', example='["XX","YY"]'),
  projectGroupId?: long(name='projectGroupId', example='123'),
  projectType?: long(name='projectType', example='0'),
  projectTypeName?: string(name='projectTypeName', example='通用舆情'),
  subProjectIds?: [ long ](name='subProjectIds'),
  teamId?: long(name='teamId', example='123'),
  uidCreate?: string(name='uidCreate', example='yyy'),
  uidModified?: string(name='uidModified', example='yyy'),
  unameCreate?: string(name='unameCreate', example='xxx'),
  unameModified?: string(name='unameModified', example='xxx'),
  valid?: long(name='valid', example='1'),
}

model ProjectGroup {
  gmtCreateTimestamp?: long(name='gmtCreateTimestamp', example='16737828212'),
  gmtModifiedTimestamp?: long(name='gmtModifiedTimestamp', example='16737828212'),
  id?: long(name='id', example='123'),
  name?: string(name='name', example='xxx'),
  parentId?: long(name='parentId', example='123'),
  projectGroupType?: long(name='projectGroupType', example='0'),
  uidCreate?: string(name='uidCreate', example='xxx'),
  unameCreate?: string(name='unameCreate', example='yyy'),
  valid?: long(name='valid', example='1'),
}

model ReportNotifyRecord {
  conf?: string(name='conf', example='一个json'),
  cpId?: long(name='cpId', example='1242'),
  gmtCreateFormat?: string(name='gmtCreateFormat', example='2020-10-20'),
  gmtCreateTimestamp?: long(name='gmtCreateTimestamp', example='16272827282'),
  gmtModifiedTimestamp?: long(name='gmtModifiedTimestamp', example='16272827282'),
  id?: long(name='id', example='124'),
  shareKey?: string(name='shareKey', example='xxxx'),
  subject?: string(name='subject', example='xxx'),
  success?: long(name='success', example='1'),
  type?: long(name='type', example='1'),
  uidCreate?: string(name='uidCreate', example='xxx'),
  unameCreate?: string(name='unameCreate', example='yyy'),
  valid?: long(name='valid', example='1'),
}

model SearchCondition {
  advertisementFilter?: boolean(name='advertisementFilter', example='false'),
  alipayAccountFilter?: string(name='alipayAccountFilter', example='2088xxxxx'),
  assKeywordsIdx?: string(name='assKeywordsIdx', example='["man","women"]'),
  atUsersIdx?: string(name='atUsersIdx', example='蚂蚁集团'),
  audioCountMaxFilter?: long(name='audioCountMaxFilter', example='10'),
  audioCountMinFilter?: long(name='audioCountMinFilter', example='1'),
  authorFollowersCountMaxFilter?: long(name='authorFollowersCountMaxFilter', example='100'),
  authorFollowersCountMinFilter?: long(name='authorFollowersCountMinFilter', example='10'),
  authorIdx?: string(name='authorIdx', example='uid1,uid2'),
  authorNameIdx?: string(name='authorNameIdx', example='作者1,作者2'),
  authorSexFilter?: string(name='authorSexFilter', example='f'),
  authorVerifyTypeFilter?: string(name='authorVerifyTypeFilter', example='1,2'),
  bizTagsIdx?: string(name='bizTagsIdx', example='["xx"]'),
  bkzFilter?: boolean(name='bkzFilter', example='false'),
  commentsCountMaxFilter?: long(name='commentsCountMaxFilter', example='100'),
  commentsCountMinFilter?: long(name='commentsCountMinFilter', example='10'),
  contentLengthMaxFilter?: long(name='contentLengthMaxFilter', example='100'),
  contentLengthMinFilter?: long(name='contentLengthMinFilter', example='10'),
  docAnswersCountMaxFilter?: long(name='docAnswersCountMaxFilter', example='100'),
  docAnswersCountMinFilter?: long(name='docAnswersCountMinFilter', example='10'),
  docAreaIdx?: string(name='docAreaIdx', example='中国-四川省-成都市'),
  docContentSignIdx?: string(name='docContentSignIdx', example='-1029283920111'),
  docCreateTimeEndFilter?: long(name='docCreateTimeEndFilter', example='1610452881429'),
  docCreateTimeStartFilter?: long(name='docCreateTimeStartFilter', example='1610452881429'),
  docPublishTimeEndFilter?: long(name='docPublishTimeEndFilter', example='1610452881429'),
  docPublishTimeStartFilter?: long(name='docPublishTimeStartFilter', example='1610452881429'),
  docUpdateTimeEndFilter?: long(name='docUpdateTimeEndFilter', example='16104528814304'),
  docUpdateTimeStartFilter?: long(name='docUpdateTimeStartFilter', example='16104528814304'),
  duplicateRemoval?: boolean(name='duplicateRemoval', example='false'),
  emotionScoreMaxFilter?: double(name='emotionScoreMaxFilter', example='5'),
  emotionScoreMinFilter?: double(name='emotionScoreMinFilter', example='-5'),
  enableKeywordHighlight?: boolean(name='enableKeywordHighlight', example='true'),
  entityName?: string(name='entityName', example='招商银行股份有限公司'),
  eroticismFilter?: boolean(name='eroticismFilter', example='false'),
  excludeAtUsersIdx?: string(name='excludeAtUsersIdx', example='蚂蚁集团'),
  excludeAuthorIdx?: string(name='excludeAuthorIdx', example='uid,uid2'),
  excludeAuthorNameIdx?: string(name='excludeAuthorNameIdx', example='作者1,作者2'),
  excludeIpLocationFilter?: string(name='excludeIpLocationFilter', example='["北京","上海"]'),
  excludeProfileTagsUsualActiveCityFilter?: string(name='excludeProfileTagsUsualActiveCityFilter', example='["青岛市","淄博市"]'),
  excludingMediaHostsFilter?: string(name='excludingMediaHostsFilter', example='baidu.com,sina.com.cn'),
  excludingMediaNameFilter?: string(name='excludingMediaNameFilter', example='新浪微博'),
  excludingMediaPoolIdsFilter?: string(name='excludingMediaPoolIdsFilter', example='1101,1111'),
  excludingMessageTypeFilter?: string(name='excludingMessageTypeFilter', example='COMMENT'),
  filterId?: long(name='filterId', example='1234'),
  financeEntityAreaFilter?: string(name='financeEntityAreaFilter', example='中国-四川省-成都市'),
  financeEntityRelevanceScoreMaxFilter?: double(name='financeEntityRelevanceScoreMaxFilter', example='9'),
  financeEntityRelevanceScoreMinFilter?: double(name='financeEntityRelevanceScoreMinFilter', example='1'),
  financeEventCodeFilter?: string(name='financeEventCodeFilter', example='1112,1123'),
  gamblingFilter?: boolean(name='gamblingFilter', example='false'),
  hotspotTitleIdx?: string(name='hotspotTitleIdx', example='苹果新品发布会'),
  illegalAdvertisementFilter?: boolean(name='illegalAdvertisementFilter', example='false'),
  imageCountMaxFilter?: long(name='imageCountMaxFilter', example='10'),
  imageCountMinFilter?: long(name='imageCountMinFilter', example='1'),
  ipLocationFilter?: string(name='ipLocationFilter', example='["北京","上海"]'),
  keywordTreeIdsExcludeIdx?: string(name='keywordTreeIdsExcludeIdx', example='[123,34]'),
  keywordTreeIdsIdx?: string(name='keywordTreeIdsIdx', example='[123,34]'),
  likesCountMaxFilter?: long(name='likesCountMaxFilter', example='100'),
  likesCountMinFilter?: long(name='likesCountMinFilter', example='10'),
  mediaAreaCityFilter?: string(name='mediaAreaCityFilter', example='闵行区'),
  mediaAreaProvinceFilter?: string(name='mediaAreaProvinceFilter', example='上海市'),
  mediaHostsFilter?: string(name='mediaHostsFilter', example='baidu.com,sina.com.cn'),
  mediaInfluenceScoreMaxFilter?: double(name='mediaInfluenceScoreMaxFilter', example='7.5'),
  mediaInfluenceScoreMinFilter?: double(name='mediaInfluenceScoreMinFilter', example='0'),
  mediaNameFilter?: string(name='mediaNameFilter', example='["新浪财经","网易新闻"]'),
  mediaPoolIdsFilter?: string(name='mediaPoolIdsFilter', example='1010,1112'),
  mediaPropagationScoreMaxFilter?: double(name='mediaPropagationScoreMaxFilter', example='8'),
  mediaPropagationScoreMinFilter?: double(name='mediaPropagationScoreMinFilter', example='2'),
  mediaTypeFilter?: string(name='mediaTypeFilter', example='WEIBO-WEIBO'),
  messageTypeFilter?: string(name='messageTypeFilter', example='COMMENT'),
  negKeywordsIdx?: string(name='negKeywordsIdx', example='json字符串数组如：["xx","yy"]'),
  pageNow?: int32(name='pageNow', example='1'),
  pageSize?: int32(name='pageSize', example='10'),
  parentIdsIdx?: string(name='parentIdsIdx', example='123123123,123123123213'),
  posKeywordsIdx?: string(name='posKeywordsIdx', example='json字符串数组如：["xx","yy"]'),
  primaryKeyIdx?: string(name='primaryKeyIdx', example='181919191231,123123120911'),
  profileTagsAgeGroupFilter?: string(name='profileTagsAgeGroupFilter', example='["70前","70-79"]'),
  profileTagsAgeLayerFilter?: string(name='profileTagsAgeLayerFilter', example='["X世代","Y世代"]'),
  profileTagsBizPrefFilter?: string(name='profileTagsBizPrefFilter', example='["财富投资","消费金融"]'),
  profileTagsCityLineFilter?: string(name='profileTagsCityLineFilter', example='["一线城市"]'),
  profileTagsPltCertFilter?: string(name='profileTagsPltCertFilter', example='["搏击","公益"]'),
  profileTagsRegisteredAgeMaxFilter?: int32(name='profileTagsRegisteredAgeMaxFilter', example='30'),
  profileTagsRegisteredAgeMinFilter?: int32(name='profileTagsRegisteredAgeMinFilter', example='20'),
  profileTagsUserInterest?: string(name='profileTagsUserInterest', example='["ENTERTAINMENT","STORY"]'),
  profileTagsUsualActiveCityFilter?: string(name='profileTagsUsualActiveCityFilter', example='["青岛市","淄博市"]'),
  profileTagsUsualActiveProvinceFilter?: string(name='profileTagsUsualActiveProvinceFilter', example='["北京","天津"]'),
  projectId?: long(name='projectId', example='123'),
  readsCountMaxFilter?: long(name='readsCountMaxFilter', example='100'),
  readsCountMinFilter?: long(name='readsCountMinFilter', example='10'),
  relevanceScoreMaxFilter?: double(name='relevanceScoreMaxFilter', example='8.8'),
  relevanceScoreMinFilter?: double(name='relevanceScoreMinFilter', example='3.3'),
  repostsCountMaxFilter?: long(name='repostsCountMaxFilter', example='100'),
  repostsCountMinFilter?: long(name='repostsCountMinFilter', example='10'),
  reprintFromFilter?: string(name='reprintFromFilter', example='人民日报'),
  sortBy?: string(name='sortBy', example='PUBLISH_TIME'),
  sortByDirection?: string(name='sortByDirection', example='+'),
  spamFilter?: boolean(name='spamFilter', example='false'),
  suspicionSpamFilter?: boolean(name='suspicionSpamFilter', example='false'),
  titleExcludingWordsIdx?: string(name='titleExcludingWordsIdx', example='["aa","bb"]'),
  titleIncludingWordsIdx?: string(name='titleIncludingWordsIdx', example='["aa","bb"]'),
  topicIdx?: string(name='topicIdx', example='["#林墨的朋友圈#"]'),
  usedIndexModeSwitch?: string(name='usedIndexModeSwitch', example='KEYWORD'),
  videoCountMaxFilter?: long(name='videoCountMaxFilter', example='10'),
  videoCountMinFilter?: long(name='videoCountMinFilter', example='1'),
}

model StatisticPoint {
  key?: string(name='key', example='20201101'),
  value?: double(name='value', example='99.90'),
}

model YuqingHotspotMessage {
  category?: string(name='category', example='汽车'),
  commentsCount?: long(name='commentsCount', example='124'),
  crawlerTimeFmt?: string(name='crawlerTimeFmt', example='2021-09-15 10:51:01'),
  discussesCount?: long(name='discussesCount', example='124'),
  docContent?: string(name='docContent', example='苹果新品发布会'),
  docId?: string(name='docId', example='3527435351357764077'),
  docTitle?: string(name='docTitle', example='苹果新品发布会'),
  docUrl?: string(name='docUrl', example='https://www.zhihu.com/question/483204852'),
  firstExistTimestamp?: long(name='firstExistTimestamp', example='1631672702000'),
  firstHotValue?: long(name='firstHotValue', example='3500000'),
  firstRank?: int32(name='firstRank', example='1'),
  followersCount?: long(name='followersCount', example='124'),
  hotValue?: long(name='hotValue', example='3580000'),
  hotspotType?: string(name='hotspotType', example='ARTICLE'),
  lastExistTimestamp?: long(name='lastExistTimestamp', example='1631674261000'),
  lastRank?: int32(name='lastRank', example='1'),
  maxHotValue?: long(name='maxHotValue', example='3580000'),
  maxRank?: int32(name='maxRank', example='1'),
  mediaSubType?: string(name='mediaSubType', example='ZHIHU'),
  mediaType?: string(name='mediaType', example='HOT_CHART'),
  originalCount?: long(name='originalCount', example='124'),
  rank?: int32(name='rank', example='1'),
  readsCount?: long(name='readsCount', example='124'),
  screenName?: string(name='screenName', example='xxxx'),
  totalExistTimestamp?: long(name='totalExistTimestamp', example='1800000'),
  userId?: string(name='userId', example='1312432412'),
  videoCount?: long(name='videoCount', example='124'),
}

model YuqingMessage {
  advertisement?: boolean(name='advertisement', example='true'),
  alipayAccount?: long(name='alipayAccount', example='2088xxx'),
  appStoreAppName?: string(name='appStoreAppName', example='YOUKU'),
  appStoreAppScore?: long(name='appStoreAppScore', example='1'),
  appStoreName?: string(name='appStoreName', example='HUAWEI_APPSTORE'),
  atAuthorNames?: [ string ](name='atAuthorNames', example='["xx","yy"]'),
  authorAvatarUrl?: string(name='authorAvatarUrl', example='https://xxx'),
  authorFollowersCount?: long(name='authorFollowersCount', example='11'),
  authorFriendsCount?: long(name='authorFriendsCount', example='11'),
  authorGender?: string(name='authorGender'),
  authorId?: string(name='authorId', example='sjddka1123'),
  authorName?: string(name='authorName', example='xxx'),
  authorProfileUrl?: string(name='authorProfileUrl', example='https://xxx'),
  authorStatusesCount?: long(name='authorStatusesCount', example='11'),
  authorVerifyType?: string(name='authorVerifyType', example='1'),
  bkz?: boolean(name='bkz', example='true'),
  contentAudioText?: string(name='contentAudioText', example='我们都是好朋友'),
  contentAudioUrls?: string(name='contentAudioUrls', example='["http://xxx","http://xx"]'),
  contentEmotionType?: int32(name='contentEmotionType', example='1'),
  contentImageText?: string(name='contentImageText', example='我们都是好朋友'),
  contentImageUrls?: string(name='contentImageUrls', example='["http://xxx","http://xx"]'),
  contentVideoText?: string(name='contentVideoText', example='我们都是好朋友'),
  contentVideoUrls?: string(name='contentVideoUrls', example='["http://xxx","http://xx"]'),
  docAnswersCount?: long(name='docAnswersCount', example='11'),
  docAreas?: [ string ](name='docAreas'),
  docCommentsCount?: long(name='docCommentsCount', example='11'),
  docContent?: string(name='docContent', example='一篇文章内容'),
  docContentBrief?: string(name='docContentBrief', example='一段文字'),
  docContentSign?: string(name='docContentSign', example='81728391712912'),
  docCreateTime?: long(name='docCreateTime', example='165202930291'),
  docFocusArticleCount?: long(name='docFocusArticleCount', example='11'),
  docId?: string(name='docId', example='162627281611'),
  docLikesCount?: long(name='docLikesCount', example='11'),
  docMessageType?: string(name='docMessageType', example='COMMENT'),
  docParentId?: string(name='docParentId', example='12314123123122'),
  docPublishTime?: long(name='docPublishTime', example='165202930291'),
  docReadsCount?: long(name='docReadsCount', example='11'),
  docRepostsCount?: long(name='docRepostsCount', example='11'),
  docSelfContentSign?: string(name='docSelfContentSign', example='213412312123'),
  docTitle?: string(name='docTitle', example='一个标题内容'),
  docTitleBrief?: string(name='docTitleBrief', example='一个标题内容'),
  docUrl?: string(name='docUrl', example='https://xx'),
  docUserDefineJson?: string(name='docUserDefineJson', example='{}'),
  emotionScore?: string(name='emotionScore', example='5.5'),
  entityAlias?: string(name='entityAlias', example='招商银行'),
  entityRelevancyScore?: string(name='entityRelevancyScore', example='0.55'),
  eroticism?: boolean(name='eroticism', example='false'),
  eroticismScoreFmt?: string(name='eroticismScoreFmt', example='1'),
  financeEvents?: [
    FinanceEvent
  ](name='financeEvents'),
  gambling?: boolean(name='gambling', example='false'),
  highlightAssKeywords?: [ string ](name='highlightAssKeywords'),
  highlightKeywords?: [ string ](name='highlightKeywords'),
  highlightPosKeywords?: [ string ](name='highlightPosKeywords'),
  imageCount?: long(name='imageCount', example='10'),
  ipLocation?: string(name='ipLocation'),
  mediaHosts?: [ string ](name='mediaHosts'),
  mediaInfluenceLevel?: int32(name='mediaInfluenceLevel', example='2'),
  mediaInfluenceScore?: string(name='mediaInfluenceScore', example='2'),
  mediaName?: string(name='mediaName', example='新华网'),
  mediaPropagationScore?: string(name='mediaPropagationScore', example='2.22'),
  mediaQunName?: string(name='mediaQunName', example='xxxx'),
  mediaResCity?: string(name='mediaResCity', example='成都市'),
  mediaResCountry?: string(name='mediaResCountry', example='中国'),
  mediaResProvince?: string(name='mediaResProvince', example='四川省'),
  mediaType?: string(name='mediaType', example='WEIBO-REPOST_WEIBO'),
  originalMedia?: [ string ](name='originalMedia'),
  profileTagsAgeGroup?: string(name='profileTagsAgeGroup'),
  profileTagsAgeLayer?: string(name='profileTagsAgeLayer'),
  profileTagsBizPref?: string(name='profileTagsBizPref'),
  profileTagsCityLine?: string(name='profileTagsCityLine'),
  profileTagsPltCert?: string(name='profileTagsPltCert'),
  profileTagsRegisteredAge?: string(name='profileTagsRegisteredAge'),
  profileTagsUserInterest?: string(name='profileTagsUserInterest'),
  profileTagsUsualActiveCity?: string(name='profileTagsUsualActiveCity'),
  profileTagsUsualActiveProvince?: string(name='profileTagsUsualActiveProvince'),
  relevanceScoreFmt?: string(name='relevanceScoreFmt', example='3.22'),
  similarNumber?: int32(name='similarNumber', example='12'),
  spam?: boolean(name='spam', example='false'),
  ueEmotionScore?: string(name='ueEmotionScore', example='1'),
  weiboCommentId?: string(name='weiboCommentId', example='456738733123'),
  weiboMid?: string(name='weiboMid', example='456376721726271'),
}

model AggregateSearchYuqingRequest {
  aggregateFunction?: string(name='aggregateFunction', example='count'),
  groupByKey?: string(name='groupByKey', example='PUBLISH_TIME'),
  groupLimits?: long(name='groupLimits', example='100'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  searchCondition?: SearchCondition(name='searchCondition'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model AggregateSearchYuqingResponseBody = {
  aggResultList?: [
    StatisticPoint
  ](name='aggResultList'),
  requestId?: string(name='requestId'),
}

model AggregateSearchYuqingResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: AggregateSearchYuqingResponseBody(name='body'),
}

async function aggregateSearchYuqingWithOptions(request: AggregateSearchYuqingRequest, headers: map[string]string, runtime: Util.RuntimeOptions): AggregateSearchYuqingResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var body : map[string]any = {};
  if (!Util.isUnset(request.aggregateFunction)) {
    body['aggregateFunction'] = request.aggregateFunction;
  }
  if (!Util.isUnset(request.groupByKey)) {
    body['groupByKey'] = request.groupByKey;
  }
  if (!Util.isUnset(request.groupLimits)) {
    body['groupLimits'] = request.groupLimits;
  }
  if (!Util.isUnset(request.searchCondition)) {
    body['searchCondition'] = request.searchCondition;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
    body = OpenApiUtil.parseToMap(body),
  };
  var params = new OpenApi.Params{
    action = 'AggregateSearchYuqing',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/aggSearch.json`,
    method = 'POST',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function aggregateSearchYuqing(request: AggregateSearchYuqingRequest): AggregateSearchYuqingResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return aggregateSearchYuqingWithOptions(request, headers, runtime);
}

model CreateProjectRequest {
  createUserId?: string(name='createUserId'),
  createUserName?: string(name='createUserName'),
  project?: Project(name='project'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model CreateProjectResponseBody = {
  id?: long(name='id', example='1123'),
  requestId?: string(name='requestId', example='xxx'),
}

model CreateProjectResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: CreateProjectResponseBody(name='body'),
}

async function createProjectWithOptions(request: CreateProjectRequest, headers: map[string]string, runtime: Util.RuntimeOptions): CreateProjectResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var body : map[string]any = {};
  if (!Util.isUnset(request.createUserId)) {
    body['createUserId'] = request.createUserId;
  }
  if (!Util.isUnset(request.createUserName)) {
    body['createUserName'] = request.createUserName;
  }
  if (!Util.isUnset(request.project)) {
    body['project'] = request.project;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
    body = OpenApiUtil.parseToMap(body),
  };
  var params = new OpenApi.Params{
    action = 'CreateProject',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/createProject.json`,
    method = 'POST',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function createProject(request: CreateProjectRequest): CreateProjectResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return createProjectWithOptions(request, headers, runtime);
}

model DeleteProjectRequest {
  id?: long(name='id', example='123'),
  modifiedUserId?: string(name='modifiedUserId'),
  modifiedUserName?: string(name='modifiedUserName'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model DeleteProjectResponseBody = {
  id?: long(name='id', example='123'),
  requestId?: string(name='requestId', example='xxxx'),
}

model DeleteProjectResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: DeleteProjectResponseBody(name='body'),
}

async function deleteProjectWithOptions(request: DeleteProjectRequest, headers: map[string]string, runtime: Util.RuntimeOptions): DeleteProjectResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var body : map[string]any = {};
  if (!Util.isUnset(request.id)) {
    body['id'] = request.id;
  }
  if (!Util.isUnset(request.modifiedUserId)) {
    body['modifiedUserId'] = request.modifiedUserId;
  }
  if (!Util.isUnset(request.modifiedUserName)) {
    body['modifiedUserName'] = request.modifiedUserName;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
    body = OpenApiUtil.parseToMap(body),
  };
  var params = new OpenApi.Params{
    action = 'DeleteProject',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/deleteProject.json`,
    method = 'POST',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function deleteProject(request: DeleteProjectRequest): DeleteProjectResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return deleteProjectWithOptions(request, headers, runtime);
}

model GetAnalysisComponentResultRequest {
  analysisId?: long(name='analysisId', example='123'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model GetAnalysisComponentResultResponseBody = {
  analysisId?: long(name='analysisId', example='123'),
  requestId?: string(name='requestId', example='xxx'),
  resultJson?: string(name='resultJson', example='{}'),
}

model GetAnalysisComponentResultResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: GetAnalysisComponentResultResponseBody(name='body'),
}

async function getAnalysisComponentResultWithOptions(request: GetAnalysisComponentResultRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetAnalysisComponentResultResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.analysisId)) {
    query['analysisId'] = request.analysisId;
  }
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GetAnalysisComponentResult',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/getAnalysisComponentResult.json`,
    method = 'GET',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'json',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function getAnalysisComponentResult(request: GetAnalysisComponentResultRequest): GetAnalysisComponentResultResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return getAnalysisComponentResultWithOptions(request, headers, runtime);
}

model GetMessageDetailRequest {
  docId?: string(name='docId', example='182728271817212'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model GetMessageDetailResponseBody = {
  data?: string(name='data', example='{}'),
  requestId?: string(name='requestId'),
}

model GetMessageDetailResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: GetMessageDetailResponseBody(name='body'),
}

async function getMessageDetailWithOptions(request: GetMessageDetailRequest, headers: map[string]string, runtime: Util.RuntimeOptions): GetMessageDetailResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.docId)) {
    query['docId'] = request.docId;
  }
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'GetMessageDetail',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/getMessageFromHbase.json`,
    method = 'GET',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'json',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function getMessageDetail(request: GetMessageDetailRequest): GetMessageDetailResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return getMessageDetailWithOptions(request, headers, runtime);
}

model ListHotspotMessageRequest {
  hotspotSearchCondition?: HotspotSearchCondition(name='hotspotSearchCondition'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model ListHotspotMessageResponseBody = {
  hotspotMessages?: [
    YuqingHotspotMessage
  ](name='hotspotMessages'),
  requestId?: string(name='requestId', example='sdfsdfadsfasdfd'),
  totalCount?: long(name='totalCount', example='12324'),
}

model ListHotspotMessageResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: ListHotspotMessageResponseBody(name='body'),
}

async function listHotspotMessageWithOptions(request: ListHotspotMessageRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListHotspotMessageResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var body : map[string]any = {};
  if (!Util.isUnset(request.hotspotSearchCondition)) {
    body['hotspotSearchCondition'] = request.hotspotSearchCondition;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
    body = OpenApiUtil.parseToMap(body),
  };
  var params = new OpenApi.Params{
    action = 'ListHotspotMessage',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/searchHotspotDetail.json`,
    method = 'POST',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function listHotspotMessage(request: ListHotspotMessageRequest): ListHotspotMessageResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return listHotspotMessageWithOptions(request, headers, runtime);
}

model ListYuqingMessagesRequest {
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  searchCondition?: SearchCondition(name='searchCondition'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model ListYuqingMessagesResponseBody = {
  requestId?: string(name='requestId', example='xh1127381x1231'),
  totalCount?: long(name='totalCount', example='102'),
  yuqingMessages?: [
    YuqingMessage
  ](name='yuqingMessages'),
}

model ListYuqingMessagesResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: ListYuqingMessagesResponseBody(name='body'),
}

async function listYuqingMessagesWithOptions(request: ListYuqingMessagesRequest, headers: map[string]string, runtime: Util.RuntimeOptions): ListYuqingMessagesResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var body : map[string]any = {};
  if (!Util.isUnset(request.searchCondition)) {
    body['searchCondition'] = request.searchCondition;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
    body = OpenApiUtil.parseToMap(body),
  };
  var params = new OpenApi.Params{
    action = 'ListYuqingMessages',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/searchMessages.json`,
    method = 'POST',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function listYuqingMessages(request: ListYuqingMessagesRequest): ListYuqingMessagesResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return listYuqingMessagesWithOptions(request, headers, runtime);
}

model QueryAlarmDataListRequest {
  alarmQuery?: AlarmQueryCondition(name='alarmQuery'),
  orderByKey?: string(name='orderByKey', example='xxx'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model QueryAlarmDataListResponseBody = {
  pages?: [
    AlarmData
  ](name='pages'),
  requestId?: string(name='requestId'),
  totalCount?: long(name='totalCount', example='100'),
}

model QueryAlarmDataListResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: QueryAlarmDataListResponseBody(name='body'),
}

async function queryAlarmDataListWithOptions(request: QueryAlarmDataListRequest, headers: map[string]string, runtime: Util.RuntimeOptions): QueryAlarmDataListResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.alarmQuery)) {
    query['alarmQuery'] = request.alarmQuery;
  }
  if (!Util.isUnset(request.orderByKey)) {
    query['orderByKey'] = request.orderByKey;
  }
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'QueryAlarmDataList',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/queryAlarmDataList.json`,
    method = 'GET',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'json',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function queryAlarmDataList(request: QueryAlarmDataListRequest): QueryAlarmDataListResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return queryAlarmDataListWithOptions(request, headers, runtime);
}

model QueryAnalysisComponentRequest {
  analyseType?: string(name='analyseType', example='xxx'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  searchCondition?: SearchCondition(name='searchCondition'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model QueryAnalysisComponentResponseBody = {
  analysisId?: long(name='analysisId', example='123445'),
  requestId?: string(name='requestId'),
  resultJson?: string(name='resultJson', example='{}'),
}

model QueryAnalysisComponentResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: QueryAnalysisComponentResponseBody(name='body'),
}

async function queryAnalysisComponentWithOptions(request: QueryAnalysisComponentRequest, headers: map[string]string, runtime: Util.RuntimeOptions): QueryAnalysisComponentResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var body : map[string]any = {};
  if (!Util.isUnset(request.analyseType)) {
    body['analyseType'] = request.analyseType;
  }
  if (!Util.isUnset(request.searchCondition)) {
    body['searchCondition'] = request.searchCondition;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
    body = OpenApiUtil.parseToMap(body),
  };
  var params = new OpenApi.Params{
    action = 'QueryAnalysisComponent',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/queryAnalysisComponent.json`,
    method = 'POST',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function queryAnalysisComponent(request: QueryAnalysisComponentRequest): QueryAnalysisComponentResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return queryAnalysisComponentWithOptions(request, headers, runtime);
}

model QueryFilterListRequest {
  filterId?: long(name='filterId', example='123'),
  pageNow?: long(name='pageNow', example='1'),
  pageSize?: long(name='pageSize', example='10'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model QueryFilterListResponseBody = {
  filters?: [
    Filter
  ](name='filters'),
  requestId?: string(name='requestId'),
  totalCount?: long(name='totalCount', example='100'),
}

model QueryFilterListResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: QueryFilterListResponseBody(name='body'),
}

async function queryFilterListWithOptions(request: QueryFilterListRequest, headers: map[string]string, runtime: Util.RuntimeOptions): QueryFilterListResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.filterId)) {
    query['filterId'] = request.filterId;
  }
  if (!Util.isUnset(request.pageNow)) {
    query['pageNow'] = request.pageNow;
  }
  if (!Util.isUnset(request.pageSize)) {
    query['pageSize'] = request.pageSize;
  }
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'QueryFilterList',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/queryFilterList.json`,
    method = 'GET',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'json',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function queryFilterList(request: QueryFilterListRequest): QueryFilterListResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return queryFilterListWithOptions(request, headers, runtime);
}

model QueryProjectListRequest {
  pageNow?: long(name='pageNow', example='1'),
  pageSize?: long(name='pageSize', example='10'),
  projectGroupId?: long(name='projectGroupId', example='1234'),
  projectId?: long(name='projectId', example='12345'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model QueryProjectListResponseBody = {
  projectList?: [
    Project
  ](name='projectList'),
  requestId?: string(name='requestId'),
  totalCount?: long(name='totalCount', example='100'),
}

model QueryProjectListResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: QueryProjectListResponseBody(name='body'),
}

async function queryProjectListWithOptions(request: QueryProjectListRequest, headers: map[string]string, runtime: Util.RuntimeOptions): QueryProjectListResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.pageNow)) {
    query['pageNow'] = request.pageNow;
  }
  if (!Util.isUnset(request.pageSize)) {
    query['pageSize'] = request.pageSize;
  }
  if (!Util.isUnset(request.projectGroupId)) {
    query['projectGroupId'] = request.projectGroupId;
  }
  if (!Util.isUnset(request.projectId)) {
    query['projectId'] = request.projectId;
  }
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'QueryProjectList',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/queryProjectList.json`,
    method = 'GET',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'json',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function queryProjectList(request: QueryProjectListRequest): QueryProjectListResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return queryProjectListWithOptions(request, headers, runtime);
}

model QueryReportNotifiesRequest {
  cpId?: long(name='cpId', example='1234'),
  createEndTimestamp?: long(name='createEndTimestamp', example='162828291019'),
  createStartTimestamp?: long(name='createStartTimestamp', example='162828291019'),
  pageNow?: long(name='pageNow', example='1'),
  pageSize?: long(name='pageSize', example='10'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  subject?: string(name='subject', example='xx'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
  type?: long(name='type', example='1'),
}

model QueryReportNotifiesResponseBody = {
  reportNotifyRecordList?: [
    ReportNotifyRecord
  ](name='reportNotifyRecordList'),
  requestId?: string(name='requestId'),
  totalCount?: long(name='totalCount', example='100'),
}

model QueryReportNotifiesResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: QueryReportNotifiesResponseBody(name='body'),
}

async function queryReportNotifiesWithOptions(request: QueryReportNotifiesRequest, headers: map[string]string, runtime: Util.RuntimeOptions): QueryReportNotifiesResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.cpId)) {
    query['cpId'] = request.cpId;
  }
  if (!Util.isUnset(request.createEndTimestamp)) {
    query['createEndTimestamp'] = request.createEndTimestamp;
  }
  if (!Util.isUnset(request.createStartTimestamp)) {
    query['createStartTimestamp'] = request.createStartTimestamp;
  }
  if (!Util.isUnset(request.pageNow)) {
    query['pageNow'] = request.pageNow;
  }
  if (!Util.isUnset(request.pageSize)) {
    query['pageSize'] = request.pageSize;
  }
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.subject)) {
    query['subject'] = request.subject;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }
  if (!Util.isUnset(request.type)) {
    query['type'] = request.type;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'QueryReportNotifies',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/queryReportNotifies.json`,
    method = 'GET',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'json',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function queryReportNotifies(request: QueryReportNotifiesRequest): QueryReportNotifiesResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return queryReportNotifiesWithOptions(request, headers, runtime);
}

model QueryTagNodesRequest {
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
}

model QueryTagNodesResponseBody = {
  bizTagTreeList?: [
    BizTagTree
  ](name='bizTagTreeList'),
  requestId?: string(name='requestId'),
}

model QueryTagNodesResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: QueryTagNodesResponseBody(name='body'),
}

async function queryTagNodesWithOptions(request: QueryTagNodesRequest, headers: map[string]string, runtime: Util.RuntimeOptions): QueryTagNodesResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
  };
  var params = new OpenApi.Params{
    action = 'QueryTagNodes',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/queryTagNodes.json`,
    method = 'GET',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'json',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function queryTagNodes(request: QueryTagNodesRequest): QueryTagNodesResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return queryTagNodesWithOptions(request, headers, runtime);
}

model UpdateProjectRequest {
  isInfo?: boolean(name='isInfo', example='true：更新基本信息，false更新关键词信息'),
  project?: Project(name='project'),
  projectId?: long(name='projectId'),
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
  updateUserId?: string(name='updateUserId'),
  updateUserName?: string(name='updateUserName'),
}

model UpdateProjectResponseBody = {
  id?: long(name='id', example='123'),
  requestId?: string(name='requestId', example='xxx'),
}

model UpdateProjectResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: UpdateProjectResponseBody(name='body'),
}

async function updateProjectWithOptions(request: UpdateProjectRequest, headers: map[string]string, runtime: Util.RuntimeOptions): UpdateProjectResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var body : map[string]any = {};
  if (!Util.isUnset(request.isInfo)) {
    body['isInfo'] = request.isInfo;
  }
  if (!Util.isUnset(request.project)) {
    body['project'] = request.project;
  }
  if (!Util.isUnset(request.projectId)) {
    body['projectId'] = request.projectId;
  }
  if (!Util.isUnset(request.updateUserId)) {
    body['updateUserId'] = request.updateUserId;
  }
  if (!Util.isUnset(request.updateUserName)) {
    body['updateUserName'] = request.updateUserName;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
    body = OpenApiUtil.parseToMap(body),
  };
  var params = new OpenApi.Params{
    action = 'UpdateProject',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/updateProject.json`,
    method = 'POST',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function updateProject(request: UpdateProjectRequest): UpdateProjectResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return updateProjectWithOptions(request, headers, runtime);
}

model UpdatePropagationRequest {
  requestId?: string(name='requestId', example='sdjdjdhsjus-12838-123123'),
  teamHashId?: string(name='teamHashId', example='123xxxx'),
  weiboUrls?: [ string ](name='weiboUrls'),
}

model UpdatePropagationResponseBody = {
  requestId?: string(name='requestId'),
}

model UpdatePropagationResponse = {
  headers: map[string]string(name='headers'),
  statusCode: int32(name='statusCode'),
  body: UpdatePropagationResponseBody(name='body'),
}

async function updatePropagationWithOptions(request: UpdatePropagationRequest, headers: map[string]string, runtime: Util.RuntimeOptions): UpdatePropagationResponse {
  Util.validateModel(request);
  var query : map[string]any = {};
  if (!Util.isUnset(request.requestId)) {
    query['requestId'] = request.requestId;
  }
  if (!Util.isUnset(request.teamHashId)) {
    query['teamHashId'] = request.teamHashId;
  }

  var body : map[string]any = {};
  if (!Util.isUnset(request.weiboUrls)) {
    body['weiboUrls'] = request.weiboUrls;
  }

  var req = new OpenApi.OpenApiRequest{ 
    headers = headers,
    query = OpenApiUtil.query(query),
    body = OpenApiUtil.parseToMap(body),
  };
  var params = new OpenApi.Params{
    action = 'UpdatePropagation',
    version = '2021-01-26',
    protocol = 'HTTPS',
    pathname = `/openapi/aliyun/updatePropagation.json`,
    method = 'POST',
    authType = 'AK',
    style = 'ROA',
    reqBodyType = 'formData',
    bodyType = 'json',
  };
  return callApi(params, req, runtime);
}

async function updatePropagation(request: UpdatePropagationRequest): UpdatePropagationResponse {
  var runtime = new Util.RuntimeOptions{};
  var headers : map[string]string = {};
  return updatePropagationWithOptions(request, headers, runtime);
}

